"""
测试结果类模块
包含用于存储和管理测试执行结果的 TestResult 类
"""

from datetime import datetime


class TestResult:
    """
    测试结果类，用于存储每个测试步骤的执行结果

    属性:
        case_id (str): 测试用例编号
        test_point (str): 测试点描述
        step_number (int): 测试步骤编号
        step_desc (str): 测试步骤描述
        status (str): 测试状态 ('success' 或 'failure')
        error_msg (str, optional): 错误信息，默认为 None
        screenshot (str, optional): 失败时的截图（base64 编码），默认为 None
        timestamp (str): 测试执行时间戳，格式为 "YYYY-MM-DD HH:MM:SS"
    """

    def __init__(self, case_id, test_point, step_number, step_desc, status, error_msg=None, screenshot=None):
        """
        初始化测试结果对象

        参数:
            case_id (str): 测试用例编号
            test_point (str): 测试点描述
            step_number (int): 测试步骤编号
            step_desc (str): 测试步骤描述
            status (str): 测试状态 ('success' 或 'failure')
            error_msg (str, optional): 错误信息，默认为 None
            screenshot (str, optional): 失败时的截图（base64 编码），默认为 None
        """
        self.case_id = case_id
        self.test_point = test_point
        self.step_number = step_number
        self.step_desc = step_desc
        self.status = status
        self.error_msg = error_msg
        self.screenshot = screenshot
        # 统一使用不带微秒的格式
        self.timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
